$(function () {
	var form = $("form");
	var username = form.find('input[name="username"]');
	var password = form.find('input[name="password"]');
	var errorDisplay = $(".error");
	var userRegex = /^[a-z0-9]\w{3,11}$/;
	var passRegex = /\w{6,12}/;

	form.on("submit", function (e) {
		e.preventDefault();
		var usernameValue = username.val();
		var passwordValue = password.val();
		var isValid = true;

		// 清空错误信息
		errorDisplay.empty();

		// 用户名验证
		if (!usernameValue) {
			showError("用户名不能为空。");
			isValid = false;
		} else if (!userRegex.test(usernameValue)) {
			showError("用户名格式不正确。");
			isValid = false;
		}

		// 密码验证
		if (isValid && !passwordValue) {
			showError("密码不能为空。");
		} else if (isValid && !passRegex.test(passwordValue)) {
			showError("密码应为6-12位字母或数字。");
		}

		// 如果验证通过，发送登录请求
		if (isValid) {
			axios
				.post("http://localhost:9000/users/login", {
					username: usernameValue,
					password: passwordValue,
				})
				.then(function (response) {
					if (response.data.code === 1) {
						// 登录成功
						sessionStorage.setItem("nickname", response.data.user.nickname);
						sessionStorage.setItem("id", response.data.user.id);
						sessionStorage.setItem("token", response.data.token);
						window.location.href = "index.html";
					} else {
						// 登录失败
						showError(response.data.message || "未知错误。");
					}
				})
				.catch(function (error) {
					showError("登录失败，请检查网络或稍后再试。");
				});
		}
	});

	// 显示错误信息
	function showError(message) {
		errorDisplay.text(message).show();
	}
});
